package com.ysd.modules.sys.service;


import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ysd.common.utils.PageUtils;
import com.ysd.modules.sys.entity.SysClassesEntity;
import com.ysd.modules.sys.entity.SysStudent;
import com.ysd.modules.sys.entity.SysTeacher;
import com.ysd.modules.sys.entity.SysTeacherVO;


public interface SysClassesService extends IService<SysClassesEntity> {

    /**
     * @return PageUtils 返回类型
     * @Description: 根据班级名分页查询班级
     * @author CrazyCat
     */
    PageUtils getAllClasses(String cname, Integer page, Integer limit);
    
    
    /**
     * @return PageUtils 返回类型
     * @Description: 通过学校Id获取班级
     * @author
     */
    List<SysClassesEntity> GetBySchoolId(int schoolId);

    /**
     * @return
     * @Description: 添加班级
     * @author CrazyCat
     */
    int addClasses(String cname, Integer sid);

    /**
     * @Description: 修改班级
     * @author CrazyCat
     */
    int updateClasses(SysClassesEntity c);

    /**
     * @Description: 删除班级
     * @author CrazyCat
     */
    int delClasses(Integer cid);

    /**
     * 根据班级名分页查询学生
     *
     * @param searchName
     * @param page
     * @param limit
     * @return
     */
    PageUtils getAllStudents(String searchName, Integer page, Integer limit);

    /**
     * 添加学生
     * @param sysStudent
     * @return
     */
    int addStudents(SysStudent sysStudent);

    /**
     * 修改学生信息
     * @param sysStudent
     * @return
     */
    int updateStudents(SysStudent sysStudent);

    /**
     * 删除学生
     * @param id
     * @return
     */
    int delStudents(Integer id);

    /**
     * 增加教师
     * @param sysTeacher
     * @return
     */
    int addTeacher(SysTeacher sysTeacher);

    /**
     * 修改老师信息
     * @param sysTeacher
     * @return
     */
    int updateTeacher(SysTeacher sysTeacher);

    /**
     * 删除老师
     * @param id
     * @return
     */
    int delTeacher(Integer id);

    /**
     * 根据老师名查询老师
     * @param searchName
     * @return
     */
    List<SysTeacherVO> getAllTeacher(String searchName);
    
    /**
     * 多条件查询班级
     * @param params
     * @return
     */
	PageUtils getClassByParams(Map<String, Object> params);

	List<SysTeacher> getTeacherAll();
}